/*
 * Miya.com Inc.
 * Copyright (c) 2004-2018 All Rights Reserved.
 */
package com.miya.erpmofa.common.lang.response.member;

import com.miya.erpmofa.common.lang.response.BaseResponse;
import com.miya.erpmofa.common.lang.sign.MiyaSignature;
import lombok.Data;
import org.apache.commons.lang.StringUtils;

import java.math.BigDecimal;
import java.util.HashMap;
import java.util.Map;

/**
 * 会员信息对象
 *
 * @author ${guanzhong}
 * @version $Id: MemberInfo.java, v 0.1 2017年12月27日 下午2:52 Exp $
 */
@Data
@SuppressWarnings("unused")
public class MemberInfo extends BaseResponse {

    private static final long serialVersionUID = 903680054391151765L;

    /**
     * 会员积分
     * <b>可选</b>
     */
    private BigDecimal member_point;

    /**
     * 会员ID
     * <b>最大长度 128</b>
     * <b>必填</b>
     */
    private String member_id;

    /**
     * 会员姓名
     * <b>最大长度 128</b>
     * <b>可选</b>
     */
    private String member_name;

    /**
     * 会员有效期,yyyy-MM-dd
     * <b>最大长度 128</b>
     * <b>可选</b>
     */
    private String exp_date;

    /**
     * 会员状态(01=有效，02=无效)
     *
     * <b>可选</b>
     */
    private String status;

    /**
     * 储值余额（单位：分）
     * <b>可选</b>
     */
    private Integer save_balance;

    /**
     * 正价商品可享受的会员折扣率
     * <b>可选</b>
     */
    private BigDecimal discount_rate;

    /**
     * 促销价商品可享受的会员折扣率
     * <b>可选</b>
     */
    private BigDecimal discount_rate_4_promote_commodity;

    /**
     * 会员卡号
     * <b>最大长度 128</b>
     * <b>可选</b>
     */
    private String card_no;

    /**
     * 手机号
     * <b>最大长度 128</b>
     * <b>可选</b>
     */
    private String phone_no;

    /**
     * 身份证号码
     * <b>最大长度 18</b>
     * <b>可选</b>
     */
    private String id_card;

    /**
     * 是否有会员价功能
     * <b>可选</b>
     */
    private Boolean has_member_price;

    /**
     * 是否有积分价功能
     * <b>可选</b>
     */
    private Boolean has_point_price;

    /**
     * 是否有打折价功能
     * <b>可选</b>
     */
    private Boolean has_discount_price;

    public String initSignContent() {
        Map baseMap = new HashMap();
            if (StringUtils.isNotBlank(member_id)) {
                baseMap.put("member_id", member_id);
            }
            if (StringUtils.isNotBlank(member_name)) {
                baseMap.put("member_name", member_name);
            }
            if(StringUtils.isNotBlank(exp_date)){
                baseMap.put("exp_date", exp_date);
            }
            if(StringUtils.isNotBlank(status)){
                baseMap.put("status", status);
            }
            return MiyaSignature.getSignContent(baseMap);
    }
}
